package com.tyut.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tyut.common.annotation.Excel;
import com.tyut.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 论文管理对象 tyut_paper
 * 
 * @author tyut
 * @date 2023-11-21
 */
public class TyutPaper extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 论文名 */
    @Excel(name = "论文名")
    private Long name;

    /** 期刊/会议类型 */
    @Excel(name = "期刊/会议类型")
    private String paperType;

    /** 第一作者 */
    @Excel(name = "第一作者")
    private String firstAuthor;

    /** 通讯作者 */
    @Excel(name = "通讯作者")
    private String correspondingAuthor;

    /** 参与发表作者 */
    @Excel(name = "参与发表作者")
    private String participatingAuthor;

    /** 所属组别 */
    @Excel(name = "所属组别")
    private Long groupTag;

    /** 研究方向 */
    @Excel(name = "研究方向")
    private String searchDirection;

    /** 研究内容 */
    @Excel(name = "研究内容")
    private String searchContents;

    /** 发表时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发表时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date publishTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(Long name) 
    {
        this.name = name;
    }

    public Long getName() 
    {
        return name;
    }
    public void setPaperType(String paperType) 
    {
        this.paperType = paperType;
    }

    public String getPaperType() 
    {
        return paperType;
    }
    public void setFirstAuthor(String firstAuthor) 
    {
        this.firstAuthor = firstAuthor;
    }

    public String getFirstAuthor() 
    {
        return firstAuthor;
    }
    public void setCorrespondingAuthor(String correspondingAuthor) 
    {
        this.correspondingAuthor = correspondingAuthor;
    }

    public String getCorrespondingAuthor() 
    {
        return correspondingAuthor;
    }
    public void setParticipatingAuthor(String participatingAuthor) 
    {
        this.participatingAuthor = participatingAuthor;
    }

    public String getParticipatingAuthor() 
    {
        return participatingAuthor;
    }
    public void setGroupTag(Long groupTag) 
    {
        this.groupTag = groupTag;
    }

    public Long getGroupTag() 
    {
        return groupTag;
    }
    public void setSearchDirection(String searchDirection) 
    {
        this.searchDirection = searchDirection;
    }

    public String getSearchDirection() 
    {
        return searchDirection;
    }
    public void setSearchContents(String searchContents) 
    {
        this.searchContents = searchContents;
    }

    public String getSearchContents() 
    {
        return searchContents;
    }
    public void setPublishTime(Date publishTime) 
    {
        this.publishTime = publishTime;
    }

    public Date getPublishTime() 
    {
        return publishTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("paperType", getPaperType())
            .append("firstAuthor", getFirstAuthor())
            .append("correspondingAuthor", getCorrespondingAuthor())
            .append("participatingAuthor", getParticipatingAuthor())
            .append("groupTag", getGroupTag())
            .append("searchDirection", getSearchDirection())
            .append("searchContents", getSearchContents())
            .append("publishTime", getPublishTime())
            .toString();
    }
}
